/**
 *	\file AKMediator.h
 *  
 *  \section desc_sec Description
 *  Description
 *  
 *  \if copyright
 *  	Copyright 2008 Ben Chen. All rights reserved.
 *  \endif
 *  
 *  \section hist_sec Change History:
 *  	-	1/19/08		BC		Created this file
 *  
 *  <hr>
 *  \addtogroup AnimalKingdom
 *  @{
 */

#import "AKBasicInfoProvider.h"
#import "AKGeometryProvider.h"
#import "AKPlayer.h"
#import "AKStateMaintainer.h"
#import "AKImageProvider.h"
#import "AKBasicDrawing.h"

@interface AKMediator : NSObject 
{
	id <AKBasicInfoProvider>	basicInfoProvider;
	id <AKGeometryProvider>	geometryProvider;
	id <AKStateMaintainer>	stateMaintainer;
	id <AKImageProvider>		imageProvider;
	
	id <AKBasicDrawing>		basicDrawing;
	
	NSArray						*players;
	
	NSWindow *mainWindow;
	NSView	 *drawingView;
}

- (id)initWithBasicInfoProvider:(id <AKBasicInfoProvider>)aBasicInfoProvider
			   geometryProvider:(id <AKGeometryProvider>)aGeometryProvider
				stateMaintainer:(id <AKStateMaintainer>)aStateMaintainer
						players:(NSArray*)newPlayers
				  imageProvider:(id <AKImageProvider>)anImageProvider
					basicObject:(id <AKBasicDrawing>)aBasicDrawingObject
					   drawView:(NSView*)aDrawView;

- (void)start;

@end

/** @} */